// 引入配置
import commonConfig from '@/common/config'

module.exports = (vm) => {
    // 初始化请求配置
    uni.$u.http.setConfig((config) => {
        /* config 为默认全局配置*/
        config.baseURL = commonConfig.baseUrl; /* 根域名 */
		config.header['Content-Type'] = "application/x-www-form-urlencoded";
		config.dataType = "json";
		config.timeout = 60000;
        return config
    })
	
	// 请求拦截
	uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
	    // 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
	    config.data = config.data || {}
	    return config 
	}, config => { // 可使用async await 做异步操作
	    return Promise.reject(config)
	})
	
	// 响应拦截
	uni.$u.http.interceptors.response.use((response) => {
		const data = response.data
		const custom = response.config?.custom
		if (data.status != 1) {
			if (data.msg) {
				uni.showModal({
					title: '提示',
					content: data.msg,
					showCancel: false,
				})
			}
			if (custom?.catch) {
				return Promise.reject(data)
			} else {
				return new Promise(() => { })
			}
		}
		if(custom?.onlyData){
			return data.data === undefined ? {} : data.data
		}else{
			return data
		}
		
	}, (response) => {
		//uni.$u.toast(response.errMsg)
		return Promise.reject(response)
	})
}